﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NutriLeaf.Web.Core.Travel
{
    public interface ITravel
    {
        void InsertTravel(int userId, int travelDistance,Model.TravelType type,DateTime datetime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void InsertTravel(Model.Travel travel,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        int GetTravelDistanceForADay(int userId, DateTime datetime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        int GetTravelDistanceForADayByType(int userId, DateTime datetime, Model.TravelType type,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        Model.Travel GetRecentTravel(int userId,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        Model.Travel GetRecentTravelForADay(int userId,DateTime dateTime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        Model.Travel GetTravel(int travelId,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.Travel> GetTravelForADay(int userId,DateTime dateTime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.Travel> GetTravel(int userId,DateTime dateTimestart,DateTime datetimeEnd,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.Travel> GetTravel(int userId,int top,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void RemoveTravel(int travelId,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void UpdateTravel(Model.Travel travel,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);


    }
}